package com.ruoyi.management.pojo.entity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.util.List;

@Data
public class BatchUserInfoResponse {
    private List<UserInfo> user_info_list;

    // getter和setter
    public List<UserInfo> getUser_info_list() {
        return user_info_list;
    }
    public void setUser_info_list(List<UserInfo> user_info_list) {
        this.user_info_list = user_info_list;
    }

    /**
     * 单个用户信息实体（补充所有字段并忽略未知字段）
     */
    @JsonIgnoreProperties(ignoreUnknown = true) // 关键：忽略实体类中未定义的字段
    public static class UserInfo {
        private Integer subscribe; // 1-已关注，0-未关注
        private String openid;
        private String language;
        private Long subscribe_time;
        private String unionid;
        private String remark;
        private Integer groupid;
        private List<Integer> tagid_list;
        private String subscribe_scene;
        private Integer qr_scene;
        private String qr_scene_str;

        // 新增微信返回的字段
        private String nickname; // 用户昵称
        private Integer sex; // 性别（0-未知，1-男，2-女）
        private String city; // 城市
        private String province; // 省份
        private String country; // 国家
        private String headimgurl; // 头像URL

        // 所有字段的getter和setter（包括新增字段）
        public Integer getSubscribe() { return subscribe; }
        public void setSubscribe(Integer subscribe) { this.subscribe = subscribe; }
        public String getOpenid() { return openid; }
        public void setOpenid(String openid) { this.openid = openid; }
        public String getLanguage() { return language; }
        public void setLanguage(String language) { this.language = language; }
        public Long getSubscribe_time() { return subscribe_time; }
        public void setSubscribe_time(Long subscribe_time) { this.subscribe_time = subscribe_time; }
        public String getUnionid() { return unionid; }
        public void setUnionid(String unionid) { this.unionid = unionid; }
        public String getRemark() { return remark; }
        public void setRemark(String remark) { this.remark = remark; }
        public Integer getGroupid() { return groupid; }
        public void setGroupid(Integer groupid) { this.groupid = groupid; }
        public List<Integer> getTagid_list() { return tagid_list; }
        public void setTagid_list(List<Integer> tagid_list) { this.tagid_list = tagid_list; }
        public String getSubscribe_scene() { return subscribe_scene; }
        public void setSubscribe_scene(String subscribe_scene) { this.subscribe_scene = subscribe_scene; }
        public Integer getQr_scene() { return qr_scene; }
        public void setQr_scene(Integer qr_scene) { this.qr_scene = qr_scene; }
        public String getQr_scene_str() { return qr_scene_str; }
        public void setQr_scene_str(String qr_scene_str) { this.qr_scene_str = qr_scene_str; }

        // 新增字段的getter和setter
        public String getNickname() { return nickname; }
        public void setNickname(String nickname) { this.nickname = nickname; }
        public Integer getSex() { return sex; }
        public void setSex(Integer sex) { this.sex = sex; }
        public String getCity() { return city; }
        public void setCity(String city) { this.city = city; }
        public String getProvince() { return province; }
        public void setProvince(String province) { this.province = province; }
        public String getCountry() { return country; }
        public void setCountry(String country) { this.country = country; }
        public String getHeadimgurl() { return headimgurl; }
        public void setHeadimgurl(String headimgurl) { this.headimgurl = headimgurl; }
    }
}
